<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../../../../style.css" type="text/css" media="screen">
<link rel="stylesheet" href="../../../../print.css" type="text/css" media="print">
<meta content="ActionDelegate,com.developmentarc.core.controllers.ActionDelegate,actions,addAction,handleCommandChange,registerActions,registerCommands,removeAction,unregisterActions,unregisterCommands" name="keywords">
<title>com.developmentarc.core.controllers.ActionDelegate</title>
</head>
<body>
<script type="text/javascript" language="javascript" src="../../../../asdoc.js"></script><script type="text/javascript" language="javascript" src="../../../../cookies.js"></script><script type="text/javascript" language="javascript">
<!--
				asdocTitle = 'ActionDelegate - DevelopmentArc Core API Documentation';
				var baseRef = '../../../../';
				window.onload = configPage;
			--></script>
<table style="display:none" id="titleTable" cellspacing="0" cellpadding="0" class="titleTable">
<tr>
<td align="left" class="titleTableTitle">DevelopmentArc Core API</td><td align="right" class="titleTableTopNav"><a onclick="loadClassListFrame('../../../../all-classes.html')" href="../../../../package-summary.html">All&nbsp;Packages</a>&nbsp;|&nbsp;<a onclick="loadClassListFrame('../../../../all-classes.html')" href="../../../../class-summary.html">All&nbsp;Classes</a>&nbsp;|&nbsp;<a onclick="loadClassListFrame('../../../../index-list.html')" href="../../../../all-index-A.html">Index</a>&nbsp;|&nbsp;<a href="../../../../index.html?com/developmentarc/framework/controllers/ActionDelegate.html&amp;com/developmentarc/framework/controllers/class-list.html" id="framesLink1">Frames</a><a onclick="parent.location=document.location" href="" style="display:none" id="noFramesLink1">No&nbsp;Frames</a></td><td rowspan="3" align="right" class="titleTableLogo"><img alt="Adobe Logo" title="Adobe Logo" class="logoImage" src="../../../../images/logo.jpg"></td>
</tr>
<tr class="titleTableRow2">
<td align="left" id="subTitle" class="titleTableSubTitle">Class&nbsp;ActionDelegate</td><td align="right" id="subNav" class="titleTableSubNav"><a href="#propertySummary">Properties</a>&nbsp;| <a href="#methodSummary">Methods</a></td>
</tr>
<tr class="titleTableRow3">
<td colspan="2">&nbsp;</td>
</tr>
</table>
<script type="text/javascript" language="javascript">
<!--
if (!isEclipse() || window.name != ECLIPSE_FRAME_NAME) {titleBar_setSubTitle("Class ActionDelegate"); titleBar_setSubNav(false,true,false,false,false,false,true,false,false,false,false,false,false,false);}
--></script>
<div class="MainContent">
<table cellspacing="0" cellpadding="0" class="classHeaderTable">
<tr>
<td class="classHeaderTableLabel">Package</td><td><a onclick="javascript:loadClassListFrame('class-list.html')" href="package-detail.html">com.developmentarc.core.controllers</a></td>
</tr>
<tr>
<td class="classHeaderTableLabel">Class</td><td class="classSignature">public class ActionDelegate</td>
</tr>
<tr>
<td class="classHeaderTableLabel">Inheritance</td><td class="inheritanceList">ActionDelegate <img class="inheritArrow" alt="Inheritance" title="Inheritance" src="../../../../images/inherit-arrow.gif"> flash.events.EventDispatcher</td>
</tr>
</table>
<p></p>
  The ActionDelegate is responsible for brokering commands to the actions
  that have registered for the command type.  When an Action is registered
  to the ActionDelegate, the Delegate reviews the commands for the specific action
  and then registers to the EventBroker to track the requested Command.  When the
  Command is dispatched to the EventBroker the Action's applyAction() method was
  assigned and is called.
  
  <p></p>
<br>
<hr>
</div>
<a name="propertySummary"></a>
<div class="summarySection">
<div class="summaryTableTitle">Public Properties</div>
<table id="summaryTableProperty" class="summaryTable " cellpadding="3" cellspacing="0">
<tr>
<th>&nbsp;</th><th colspan="2">Property</th><th class="summaryTableOwnerCol">Defined&nbsp;by</th>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><a class="signatureLink" href="#actions">actions</a> : Array<div class="summaryTableDescription">
   Defines an Array of IActions that are then registered through the delegate
   to the Action's commands Array.</div>
</td><td class="summaryTableOwnerCol">ActionDelegate</td>
</tr>
</table>
</div>
<a name="methodSummary"></a>
<div class="summarySection">
<div class="summaryTableTitle">Public Methods</div>
<table id="summaryTableMethod" class="summaryTable " cellpadding="3" cellspacing="0">
<tr>
<th>&nbsp;</th><th colspan="2">Method</th><th class="summaryTableOwnerCol">Defined&nbsp;by</th>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#ActionDelegate()">ActionDelegate</a>()</div>
<div class="summaryTableDescription">
   Constructor.</div>
</td><td class="summaryTableOwnerCol">ActionDelegate</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#addAction()">addAction</a>(action:<a href="interfaces/IAction.html">IAction</a>):void</div>
<div class="summaryTableDescription">
   Used to add a single action to to the ActionDelegate.</div>
</td><td class="summaryTableOwnerCol">ActionDelegate</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#removeAction()">removeAction</a>(action:<a href="interfaces/IAction.html">IAction</a>):void</div>
<div class="summaryTableDescription">
   Removes an action from the ActionDelegate.</div>
</td><td class="summaryTableOwnerCol">ActionDelegate</td>
</tr>
</table>
</div>
<a name="protectedMethodSummary"></a>
<div class="summarySection">
<div class="summaryTableTitle">Protected Methods</div>
<table id="summaryTableProtectedMethod" class="summaryTable " cellpadding="3" cellspacing="0">
<tr>
<th>&nbsp;</th><th colspan="2">Method</th><th class="summaryTableOwnerCol">Defined&nbsp;by</th>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#handleCommandChange()">handleCommandChange</a>(event:Event):void</div>
<div class="summaryTableDescription">
   When the commands of a registered Action change this method
   unregisters exiting commands and then registers the new command list.</div>
</td><td class="summaryTableOwnerCol">ActionDelegate</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#registerActions()">registerActions</a>(actions:Array):void</div>
<div class="summaryTableDescription">
   Registers the action array and the commands assigned to that action.</div>
</td><td class="summaryTableOwnerCol">ActionDelegate</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#registerCommands()">registerCommands</a>(action:<a href="interfaces/IAction.html">IAction</a>):void</div>
<div class="summaryTableDescription">
   Registers the Action's commands via the EventBroker.</div>
</td><td class="summaryTableOwnerCol">ActionDelegate</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#unregisterActions()">unregisterActions</a>(actions:Array):void</div>
<div class="summaryTableDescription">
   Unregisters an Array of IActions from their commands.</div>
</td><td class="summaryTableOwnerCol">ActionDelegate</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#unregisterCommands()">unregisterCommands</a>(action:<a href="interfaces/IAction.html">IAction</a>, commands:Array):void</div>
<div class="summaryTableDescription">
   Unregisters the Action's commands via the EventBroker.</div>
</td><td class="summaryTableOwnerCol">ActionDelegate</td>
</tr>
</table>
</div>
<script type="text/javascript" language="javascript">
<!--
showHideInherited();
--></script>
<div class="MainContent">
<a name="propertyDetail"></a>
<div class="detailSectionHeader">Property detail</div>
<a name="actions"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">actions</td><td class="detailHeaderType">property</td>
</tr>
</table>
<div class="detailBody">
<code>actions:Array</code>&nbsp;&nbsp;[read-write]<p>
   Defines an Array of IActions that are then registered through the delegate
   to the Action's commands Array. The ActionDelegate can be used in MXML and 
   we encourge this to enable a centralized location for where the Actions and 
   Commands are assigned.
   
   </p><span class="label">Implementation</span>
<br>
<code>&nbsp;&nbsp;&nbsp;&nbsp;public function get actions():Array</code>
<br>
<code>&nbsp;&nbsp;&nbsp;&nbsp;public function set actions(value:Array):void</code>
<br>
<br>
<span class="label">Example</span>
<br>When assigning code via MXML, use this syntax: <div class='listing'><pre>
&lt;controllers:ActionDelegate&gt;
 &lt;controllers:actions&gt;
  &lt;mx:Array&gt;
   &lt;actiontypes:BasicAction commands="{[BasicCommand.MY_BASIC_COMMAND]}" /&gt;
   &lt;actiontypes:MultipleCommandAction commands="{[BasicCommand.A_SECOND_COMMAND, BasicCommand.MY_BASIC_COMMAND]}" /&gt;
  &lt;/mx:Array&gt;
 &lt;/controllers:actions&gt;
&lt;/controllers:ActionDelegate&gt;
   </pre></div>
   
   <p></p>
</div>
<a name="constructorDetail"></a>
<div class="detailSectionHeader">Constructor detail</div>
<a name="ActionDelegate()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">ActionDelegate</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">constructor</td>
</tr>
</table>
<div class="detailBody">
<code>public function ActionDelegate()</code><p>
   Constructor. 
   
   </p></div>
<a name="methodDetail"></a>
<div class="detailSectionHeader">Method detail</div>
<a name="addAction()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">addAction</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td>
</tr>
</table>
<div class="detailBody">
<code>public function addAction(action:<a href="interfaces/IAction.html">IAction</a>):void</code><p>
   Used to add a single action to to the ActionDelegate.
    
   </p><span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">action</span>:<a href="interfaces/IAction.html">IAction</a></code> &mdash; The action to register.
   
   </td>
</tr>
</table>
</div>
<a name="handleCommandChange()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">handleCommandChange</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>protected function handleCommandChange(event:Event):void</code><p>
   When the commands of a registered Action change this method
   unregisters exiting commands and then registers the new command list.
   This method is important when assigning commands via MXML due to the
   population order of child tags.
    
   </p><span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">event</span>:Event</code> &mdash; The change event.
   
   </td>
</tr>
</table>
</div>
<a name="registerActions()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">registerActions</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>protected function registerActions(actions:Array):void</code><p>
   Registers the action array and the commands assigned to that action.
    
   </p><span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">actions</span>:Array</code> &mdash; The array of IActions to register to commands.
   
   </td>
</tr>
</table>
</div>
<a name="registerCommands()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">registerCommands</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>protected function registerCommands(action:<a href="interfaces/IAction.html">IAction</a>):void</code><p>
   Registers the Action's commands via the EventBroker.
    
   </p><span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">action</span>:<a href="interfaces/IAction.html">IAction</a></code> &mdash; The action to register.
   
   </td>
</tr>
</table>
</div>
<a name="removeAction()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">removeAction</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>public function removeAction(action:<a href="interfaces/IAction.html">IAction</a>):void</code><p>
   Removes an action from the ActionDelegate.
    
   </p><span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">action</span>:<a href="interfaces/IAction.html">IAction</a></code> &mdash; The action to remove.
   
   </td>
</tr>
</table>
</div>
<a name="unregisterActions()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">unregisterActions</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>protected function unregisterActions(actions:Array):void</code><p>
   Unregisters an Array of IActions from their commands.
   
   </p><span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">actions</span>:Array</code> &mdash; The Array if IActions to unregister.
   
   </td>
</tr>
</table>
</div>
<a name="unregisterCommands()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">unregisterCommands</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>protected function unregisterCommands(action:<a href="interfaces/IAction.html">IAction</a>, commands:Array):void</code><p>
   Unregisters the Action's commands via the EventBroker.
    
   </p><span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">action</span>:<a href="interfaces/IAction.html">IAction</a></code> &mdash; The action to unregister.
   
   </td>
</tr>
<tr>
<td class="paramSpacer">&nbsp;</td>
</tr>
<tr>
<td width="20px"></td><td><code><span class="label">commands</span>:Array</code></td>
</tr>
</table>
</div>
<br>
<br>
<hr>
<br>
<p></p>
<center class="copyright"> 
</center>
</div>
</body>
</html>
<!-- -->
